<!doctype html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.15.1/css/all.css" integrity="sha384-9ZfPnbegQSumzaE7mks2IYgHoayLtuto3AS6ieArECeaR8nCfliJVuLh/GaQ1gyM" crossorigin="anonymous">
  <link rel="stylesheet" href="roboto/css/roboto.css">
  <link rel="stylesheet" href="styles.css">
  <script src="main.js"></script>

  <!-- Favicon -->
  <link rel="icon" type="image/png" sizes="192x192" href="/assets/android-icon-192x192.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon-96x96.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png">

  <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/default.min.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/highlight.min.js" integrity="sha512-XJ+kBRoBFQps17m1/oCbbESEJtXMrCKq6Ls2a9MKSwoQsSrUk8i+qOd/7YXfl3BsAlfjUyQ4EPd0b0JB24Bgwg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  <script>hljs.initHighlightingOnLoad();</script>

  <title>systeminformation</title>

</head>

<body>
  <nav class="nav">
    <div class="container">
      <a href="."><img class="logo float-left" src="assets/logo.png" alt="logo">
        <div class="title float-left">systeminformation</div>
      </a>
      <div class="text float-right github"><a href="https://github.com/sebhildebrandt/systeminformation">View on Github <i class="fab fa-github"></i></a></div>
      <div class="text float-right todocs"><a href="./#docs">Docs Overview</a></div>
    </div>
  </nav>

  <div class="container-fluid">
    <section class="container">
      <div class="row">
        <div class="col-12 col-md-4 col-lg-3 col-xl-2 menu" id="menu">
        </div>
        <div class="col-12 col-md-8 col-lg-9 col-xl-10 content">
          <div class="row">
            <div class="col-12 sectionheader">
              <div class="title">Wifi</div>
              <div class="text">
                <p>In this section you will learn how to get detailed information about available wifi networks, interfaces and connections:</p>
                <p>For function reference and examples we assume, that we imported <span class="code">systeminformation</span> as follows:</p>
                <pre><code class="js">const si = require('systeminformation');</code></pre>
                <h2>Wifi Networks</h2>
                <p>All functions in this section return a promise or can be called with a callback function (parameter <span class="code">cb</span> in the function reference)</p>
                <table class="table table-sm table-bordered table-striped">
                  <thead>
                    <tr>
                      <th>Function</th>
                      <th>Result object</th>
                      <th>Linux</th>
                      <th>BSD</th>
                      <th>Mac</th>
                      <th>Win</th>
                      <th>Sun</th>
                      <th>Comments</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>si.wifiNetworks(cb)</td>
                      <td>[{...}]</td>
                      <td>X</td>
                      <td>X</td>
                      <td>(X)</td>
                      <td>X</td>
                      <td>X</td>
                      <td>array of available wifi networks<br>since macOS Sonoma 14.4 not available</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].ssid</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>Wifi network SSID</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].bssid</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>BSSID (mac)</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].mode</td>
                      <td>X</td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td>mode</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].channel</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>channel</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].frequency</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>frequency in MHz</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].signalLevel</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>signal level in dB</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].quality</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>quality in %</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].security</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>array e.g. WPA, WPA-2</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].wpaFlags</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>array of WPA flags</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].rsnFlags</td>
                      <td>X</td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td>array of RDN flags
                    </tr>
                    <tr class="example">
                      <td></td>
                      <td colspan="7">
                        <h5>Example</h5>
                        <pre><code class="js">const si = require('systeminformation');
si.wifiNetworks().then(data => console.log(data));</code></pre>
                        <pre class="example">
[
  {
    ssid: 'INTERNAL-WIFI',
    bssid: 'ab:01:14:4f:d3:82',
    mode: '',
    channel: 44,
    frequency: 5220,
    signalLevel: -68,
    quality: 64,
    security: [ 'WPA', 'WPA2' ],
    wpaFlags: [ 'PSK/TKIP/TKIP', 'PSK/AES/TKIP' ],
    rsnFlags: []
  },
  {
    ssid: 'FREE Wifi',
    bssid: 'aa:14:e5:16:97:f3',
    mode: '',
    channel: 44,
    frequency: 5220,
    signalLevel: -50,
    quality: 100,
    security: [ 'WPA', 'WPA2' ],
    wpaFlags: [ 'PSK/TKIP/TKIP', 'PSK/AES/TKIP' ],
    rsnFlags: []
  },
  ...
]</pre>
                    </tr>

                  </tbody>
                </table>
                <h2>Wifi Interfaces</h2>
                <p>All functions in this section return a promise or can be called with a callback function (parameter <span class="code">cb</span> in the function reference)</p>
                <table class="table table-sm table-bordered table-striped">
                  <thead>
                    <tr>
                      <th>Function</th>
                      <th>Result object</th>
                      <th>Linux</th>
                      <th>BSD</th>
                      <th>Mac</th>
                      <th>Win</th>
                      <th>Sun</th>
                      <th>Comments</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>si.wifiInterfaces(cb)</td>
                      <td>[{...}]</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>array of detected wifi interfaces</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].id</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>Wifi ID</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].iface</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>interface</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].model</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>model</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].vendor</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>vendor</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].mac</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>interface MAC</td>
                    </tr>
                    <tr class="example">
                      <td></td>
                      <td colspan="7">
                        <h5>Example</h5>
                        <pre><code class="js">const si = require('systeminformation');
si.wifiInterfaces().then(data => console.log(data));</code></pre>
                        <pre class="example">
[
  {
    id: 'Wi-Fi',
    iface: 'en0',
    model: 'AirPort',
    vendor: '',
    mac: 'a0:b1:c2:d3:e4:f5'
  },
  ...
]</pre>
                    </tr>

                  </tbody>
                </table>
                <h2>Wifi Connections</h2>
                <p>All functions in this section return a promise or can be called with a callback function (parameter <span class="code">cb</span> in the function reference)</p>
                <table class="table table-sm table-bordered table-striped">
                  <thead>
                    <tr>
                      <th>Function</th>
                      <th>Result object</th>
                      <th>Linux</th>
                      <th>BSD</th>
                      <th>Mac</th>
                      <th>Win</th>
                      <th>Sun</th>
                      <th>Comments</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>si.wifiConnections(cb)</td>
                      <td>[{...}]</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>array of active wifi connections</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].id</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>Wifi ID</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].iface</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>interface</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].model</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>model</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].ssid</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>Wifi network SSID</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].bssid</td>
                      <td>X</td>
                      <td></td>
                      <td>(X)</td>
                      <td>X</td>
                      <td></td>
                      <td>BSSID (mac) - macOS only on older os versions</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].channel</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>channel</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].frequency</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>frequency</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].type</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>WiFi type</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].security</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>WiFi security</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].signalLevel</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>signal level in dB</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].quality</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>signal level quality in %</td>
                    </tr>
                    <tr>
                      <td></td>
                      <td>[0].txRate</td>
                      <td>X</td>
                      <td></td>
                      <td>X</td>
                      <td>X</td>
                      <td></td>
                      <td>transfer rate Mbit/s</td>
                    </tr>
                    <tr class="example">
                      <td></td>
                      <td colspan="7">
                        <h5>Example</h5>
                        <pre><code class="js">const si = require('systeminformation');
si.wifiConnections().then(data => console.log(data));</code></pre>
                        <pre class="example">
[
  {
    id: 'Wi-Fi',
    iface: 'en0',
    name: 'AirPort',
    model: 'AirPort',
    ssid: 'my-own-internet',
    bssid: '01:23:45:67:89:0a',  // no longer supported on newer macOS versions
    channel: 36,
    frequency: 5180,
    type: '802.11',
    security: 'wpa2-psk',
    signalLevel: 46,
    txRate: '405'
  },
  ...
]</pre>
                    </tr>

                  </tbody>
                </table>

              </div>
            </div>
          </div>
        </div>
      </div>
  </div>
  </section>
  </div>
  <footer class="container-fluid footer">
    <div class="container">
      <div class="row">
        <div class="col-lg-4 col-12">
          <ul class="list-unstyled">
            <li><a href="." class="medium home">Home</a></li>
            <li>&nbsp;</li>
            <li><a href="security.html">Security Advisories&nbsp;&nbsp;<i class="fas fa-shield-check"></i></a></li>
            <li><a href="https://github.com/sebhildebrandt/systeminformation">Github <i class="fab fa-github"></i></a></li>
            <li>&nbsp;</li>
            <li><a href="https://buymeacoff.ee/systeminfo" class="medium badge bg-primary"><i class="fas fa-coffee"></i>&nbsp;&nbsp;Buy me a coffee</a></li>
          </ul>
        </div>
        <div class="col-lg-4 col-12">
          <ul class="list-unstyled">
            <li><a href="gettingstarted.html">Quick Start</a></li>
            <li><a href="changes.html">Version 5 Changes</a></li>
            <li><a href="history.html">Full Version History</a></li>
            <li><a href="tests.html">Testing</a></li>
            <li><a href="issues.html">Known Issues</a></li>
            <li><a href="statsfunctions.html">Stats Functions</a></li>
          </ul>
        </div>
        <div class="col-lg-4 col-12">
          <ul class="list-unstyled">
            <li><a href="contributors.html">Contributors</a></li>
            <li><a href="trademarks.html">Trademarks</a></li>
            <li>&nbsp;</li>
            <li><a href="copyright.html">Copyright &amp; License&nbsp;&nbsp;<img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="MIT license" /></a></li>
            <li><a href="https://www.plus-innovations.com">&copy; 2025 Sebastian Hildebrandt</a></li>
            <li><a href="https://www.plus-innovations.com">+innovations GmbH</a></li>
          </ul>
        </div>
      </div>
    </div>
  </footer>

  <script>
    window.onload = function (e) {
      createMenu();
    }
  </script>
</body>

</html>
